package com.hankol.message

import android.widget.ImageView
import com.baselibrary.Constants
import com.baselibrary.R
import com.baselibrary.extension.checkNotNull
import com.baselibrary.extension.checkValue

object OptionUtils {
    //    动态类型  1：图片 2：视频 3直播、4文章、5 百科  6 讲坛的视频详情 使用常量com.baselibrary.Constants
    @JvmStatic fun fromShowTypeStr(type: Int): String {
        var str = ""
        when (type) {
            Constants.DYNAMIC_TYPE_IMG -> {
                str = "图片"
            }
            Constants.DYNAMIC_TYPE_VIDEO -> {
                str = "视频"
            }
            Constants.DYNAMIC_TYPE_TOPIC -> {
                str = "话题"
            }
            Constants.DYNAMIC_TYPE_ARTICLE -> {
                str = "文章"
            }
            Constants.DYNAMIC_TYPE_LIVE -> {
                str = "直播"
            }
            Constants.DYNAMIC_TYPE_WIKI -> {
                str = "百科"
            }
            Constants.DYNAMIC_TYPE_BEMA_VIDEO_DETAIL -> {
                str = "讲坛的视频详情"
            }
        }
        return str
    }

    //* 0=没关系
    //* 1=自己
    //* 2=我关注了他
    //* 3=他关注了我
    //* 4=互相关注
    @JvmStatic fun friendState(friendState: Int): String {
//        未关注\对方未关注
        var str = ""
        if (friendState == 2) {
            str = "对方未关注"
        } else if (friendState == 3) {
            str = "未关注"
        }
        return str;
    }

    //酒窖 类型 总社：0，中心社：1，普通分社：2，总社直营分社：3，普通酒窖：4， 总社直营酒窖：5，中心社酒窖：6
    fun showWineryType(type: Int): String {
        var typeStr = ""
        when (type) {
            0 -> {
                typeStr = "总社"
            }
            1 -> {
                typeStr = "中心社"
            }
            2 -> {
                typeStr = "普通分社"
            }
            3 -> {
                typeStr = "总社直营分社"
            }
            4 -> {
                typeStr = "普通酒窖"
            }
            5 -> {
                typeStr = "总社直营酒窖"
            }
            6 -> {
                typeStr = "中心社酒窖"
            }
        }
        return typeStr
    }

    fun payType(payType: Int): String {
        return when (payType) {
            0 -> "微信支付"
            1 -> "支付宝支付"
            else -> "微信支付"
        }
    }

    //取消原因
    fun cancelType(cancelType: Int): String {
        //2-用户自己取消（未付款）,3-系统自动取消(超时未付款)
        return when (cancelType) {
            2 -> "未付款"
            3 -> "自动取消"
            else -> "未付款"
        }
    }

    //0-邮寄，1-线下机构提货
    fun postStyle(postOption: Int): String {
        return when (postOption) {
            0 -> "邮寄"
            1 -> "线下机构提货"
            else -> ""
        }
    }

    fun getOrderStatusString(status: Int): String {
        return when (status) {
            0 -> "待付款"
            1 -> "待发货"
            2 -> "待收货"
            5 -> "已完成"
            6 -> "已关闭"
            else -> ""
        }
    }

    fun getOrderDetailTopTip(status: Int): String {
        return when (status) {
            0 -> "已为您保留商品库存，请在15分钟内完成付款\n超时后自动关闭"
            1 -> "预计48小时内发货，请您耐心等待"
            2 -> "请您在7天内确认收货，超时后将自动收货"
            5 -> "感谢您对酣享APP的支持，欢迎您再次光临"
            6 -> "由于您未在规定时间完成付款，交易已关闭\n期待您下次选择"
            else -> ""
        }
    }

    // 待付款、已关闭  显示  应付金额   其他 显示 实付金额
    fun showShouldRealPay(postOption: Int): String {
        return when (postOption) {
            0, 6 -> "应付金额："
            else -> "实付金额："
        }
    }

    fun kuaidiStatus(statusStr: String): String {
        val map = hashMapOf<String, String>()
        map.put("揽收", "已揽收")
        map.put("在途", "在途中")
        map.put("签收", "已签收")
        map.put("退签", "已退签")
        map.put("派件", "派件中")
        map.put("退回", "已退回")
        map.put("转单", "已转单")
        if (statusStr.checkNotNull()) {
            val value = map.get(statusStr)
            return if (value.checkNotNull()) value.checkValue() else "处理中"
        } else {
            return "处理中"
        }
    }


    fun getAfterSalesState(afterSaleStatus: Int): String {
        when (afterSaleStatus) {
            0 -> {
                return "售后待处理"
            }
            1 -> {
                return "已同意"
            }
            2 -> {
                return "已拒绝"
            }
        }
        return "未知"
    }


    /**
     * 客户级别 0A类(具有经营意向，转化潜质) 1B类(消费客户，意向或已成交) 2C类(拜访后判断，无明确意向)
     */
    fun customerLevel(level: Int): String {
        var str = ""
        when (level) {
            -1 -> {
                str = ""
            }
            0 -> {
                str = "A类(具有经营意向，转化潜质)"
            }
            1 -> {
                str = "B类(消费客户，意向或已成交)"
            }
            2 -> {
                str = "C类(拜访后判断，无明确意向)"
            }
        }
        return str
    }

    /**
     * 奖品状态 0待填写地址 1待发货 2已发货
     */
    fun prizeStatus(status: Int): String {
        var str = ""
        when (status) {
            0 -> {
                str = "未填地址"
            }
            1 -> {
                str = "待发货"
            }
            2 -> {
                str = "已发货"
            }
        }
        return str
    }
}